home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 014a / blank411.zip / BLANKS.DOC < prev    next >
Text File  |  1992-01-26  |  47KB  |  978 lines

  1.  
  2.            ▄        ▄            ▄         ▄      ▄      ▄      ▄
  3.        █▀▀   ▄     █▀         █▀  ▄         ▄   ░█▀     █▀    █▀
  4.        █    ░█     █         █▀   ░▄       ░█  ░░█      █   ░█▀         ▄
  5.       ░█   ░░█    ░█        ░█   ░░█     ░█░░▄ ░░█      █░░░█▀      █▀▀ ░▄
  6.      ░░░░░░░█▀   ░░█       ░░█   ░░█    ░░█ ░░▄░▒█     ░░░░█▀      ░█   ▀▀
  7.      ░░█▀▀▀░▒▄   ░░█       ░░░░░░░▒█    ░░█ ░▒█▒▒█    ░░█░▒▒▄      ░░░░░▄
  8.      ░▒█   ▒▒█   ░▒█       ░▒█▀▀▀▒▒█    ░▒█  ▒▒▒▒█    ░▒█  ▒▒▄      ▀▀▀░▒▄
  9.      ▒▒█  ▒▒▒█   ▒▒█   ▒▄ ▒▒▒█   ▒▒▒▄   ▒▒█   ▒▒▒█    ▒▒█   ▒▒▄   ░░▄  ▒▒█
  10.     ▒▒▒▒▒▓▓▓█▀  ▒▒▒▒▒▒▓▓█ ▒▓█▀    ▒▓█  ▒▒▓▓█   ▒▓▓▄  ▒▒▓▓▄   ▒▓▓▄  ▒▒▒▓▓█▀
  11.      ▀▀▀▀▀▀▀▀    ▀▀▀▀▀▀▀▀  ▀▀      ▀▀   ▀▀▀▀   ▀▀▀▀   ▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀
  12.  
  13.        Copyright (c) 1988, 1989, 1990, 1991, 1992, FM de Monasterio
  14.              Licensed Material - All rights reserved
  15.  
  16.                   Release 4.11
  17.  
  18.     SUMMARY
  19.  
  20.     BLANKs is a DOS-based, resident utility which blanks the screen after a
  21.     selectable time interval without keyboard, mouse, or video activity; an
  22.     interval as short as 1 minute or as long as 60 minutes can be selected.
  23.     Selecting 0 minutes disables the timed screen blanking.
  24.  
  25.     BLANKs also provides options for parking the hard disk(s) upon blanking
  26.     of the screen; for manual screen blanking if a (user-defined) hotkey is
  27.     pressed or a (user-defined) mouse button is clicked and the mouse is at
  28.     a (user-defined) corner of the screen; and for the use of a password to
  29.     unblank the (manually blanked) screen. See BLANKS.NEW for a description
  30.     of what is new in the current version.
  31.  
  32.     BLANKs is a (terminate-and-stay) resident program which can be executed
  33.     repeatedly to change its parameters without yielding multiple copies to
  34.     memory. It consists of a resident component, that contains the code for
  35.     video blanking/unblanking and for parking the disk, which occupies less
  36.     than 1 kb of RAM, and a non-resident component, that loads the resident
  37.     component, communicates with the resident on further program executions
  38.     and provides other ancillary video services.  BLANKs is compatible with
  39.     MS-DOS versions 2.0 through 5.0 (or compatible operating systems).
  40.  
  41.  
  42.   ----------------------------------------------------------------------------
  43.     1.  GENERAL INFORMATION
  44.   ----------------------------------------------------------------------------
  45.  
  46.     BLANKs is a program that, after its loading, remains installed in memory
  47.     until receiving a command to uninstall itself or the machine is rebooted
  48.     (terminate-and-stay-resident). It blanks the screen after a user-defined
  49.     time interval has elapsed without keyboard, mouse, or video activity; an
  50.     interval between 1 minute and 60 minutes can be selected. A selection of
  51.     0 minutes disables this timed screen blanking.
  52.  
  53.     Once blanking has occurred, pressing any key unblanks the screen (unless
  54.     password-mediated unblanking is enabled [see below]); a <Shift> keypress
  55.     is especially useful for this purpose.
  56.  
  57.     BLANKs can be executed repeatedly to modify resident parameters, without
  58.     resulting in multiple copies to memory. The resident part uses about 800
  59.     bytes of memory.  BLANKs parameters can be specified from the DOS prompt
  60.     or via the environment string 'BLANKS' (see below).
  61.  
  62.     Noncritical messages, such as successful or uneventful operation, can be
  63.     redirected to the NUL device (bit bucket) by the DOS redirection command
  64.     > NUL.  Critical messages such as operation failures, however, cannot be
  65.     redirected by DOS commands and are always displayed (unless the "StdErr"
  66.     handle processing of the console output has been modified).
  67.  
  68.     BLANKs performs a cyclic redundancy check (CRC) each time it is executed
  69.     to verify the integrity of the code.  If the CRC fails, the execution is
  70.     cancelled as the failure indicates that the code has been corrupted, and
  71.     the program should not be used for your own protection.
  72.  
  73.  
  74.     BLANKING METHOD
  75.  
  76.     The video blanking is obtained by direct commands to the hardware (video
  77.     controller) to turn off/on the video signal.  This is a fast method that
  78.     operates successfully in the IBM PC/XT, PC/AT and in some IBM compatible
  79.     computers installed with MDA, CGA, EGA, VGA, and HERCULES video adapters
  80.     or with IBM-compatible adapters from other manufacturers.  Actually, the
  81.     blanking/unblanking of the video signal was used by the original PC BIOS
  82.     during some CGA video services.
  83.  
  84.     Starting with BLANKs version 3.34, however, blanking of HERCULES adapter
  85.     cards (HGC, HGC+, InColor) is based on a zero-row display method, kindly
  86.     made available by E.C. Raedecker, which preserves the current video mode
  87.     (text or 720 x 348 graphics) of the adapter, except during CGA emulation
  88.     (see switch /A).
  89.  
  90.  
  91.     CPU VERSIONS
  92.  
  93.     The program is written in assembly language; each version consists of four
  94.     processor-type releases (086, 268, 386 and 486) in which the code has been
  95.     optimized for the CPU types of the 80x86 processor family.  This is needed
  96.     since the x86 processors differ markedly in instruction execution time and
  97.     the incorporation of a memory cache in some CPU types affects such time by
  98.     influencing the speed of both instruction fetching and memory access.
  99.  
  100.     In addition to standard (086) assembly language instructions, the 286, 386
  101.     and 486 releases of the program also use 286-, 386- or 486-specific opcode
  102.     instructions in "real" mode (which is the native mode for 086 processors).
  103.     The type and degree of code optimization vary with the CPU type, and yield
  104.     usually small variations of resident size.
  105.  
  106.  
  107.   ----------------------------------------------------------------------------
  108.     2. PROGRAM USAGE
  109.   ----------------------------------------------------------------------------
  110.  
  111.     The program is installed in memory (or, when already installed, modified)
  112.     by the command:
  113.  
  114.              BLANKS [t] [/SWITCH1 /SWITCH2 ... /SWITCHn] [;comments]
  115.  
  116.     where brackets enclose optional command arguments.
  117.  
  118.     This command can be given from the DOS command line or from a batch file,
  119.     where [t] is the interblanking interval in minutes, [/SWITCH1.../SWITCHn]
  120.     are the (re)configuration switches, and [;comments] are comments that may
  121.     be used to clarify the command in a batch file.
  122.  
  123.     Further, if the command has null arguments (i.e. neither the interval nor
  124.     any switch is specified), BLANKs searches the DOS environment (see below)
  125.     for a variable having the format BLANKS=t/SWITCH1.../SWITCHn to use these
  126.     values as input parameters (see switch /E below).
  127.  
  128.     If the command has null arguments, a BLANKS= variable does not exist, and
  129.     the program is not yet installed, the default (preselected) configuration
  130.     is used for installation (see below). If it is already installed, a null-
  131.     argument command without a BLANKS= variable produces no changes.
  132.  
  133.  
  134.                     --------
  135.  
  136.  
  137.     A.  Interblanking Time Interval [t]:
  138.  
  139.     Timed blanking interval (minutes). This is the interval that the program
  140.     waits before blanking the screen in the absence of keyboard, video (BIOS
  141.     mediated), or mouse (INT-33h mediated) activity.  Valid selections are 0
  142.     or a decimal number in the range 1 to 60.  Selecting an interval of zero
  143.     minute disables TIMED blanking; the selection of an interval larger than
  144.     60 defaults to 60 minutes or to the value (within the 1-60 range) of the
  145.     first 2 digits of selections with more than 2 digits.
  146.  
  147.     Typing the letter <T> instead of a number yields a 1-second interval for
  148.     test purposes (see below key <F2> in Status/Usage/Help panel).
  149.  
  150.     Defaults: Null interval = 3  minutes; this default can be changed via an
  151.     environment variable (see below).
  152.  
  153.                     --------
  154.  
  155.  
  156.     B.  Configuration and Command Switches:
  157.  
  158.     These switches allow for the modification of the default (preselected) or
  159.     of an already selected resident configuration, or the execution of one of
  160.     the non-resident services provided by the program (e.g. display of a Help
  161.     panel, adjustment of display brightness, etc).
  162.  
  163.     Switches can be specified in any order, and they must be separated by any
  164.     character between space (ASCII 32) and backslash (ASCII 47). They are not
  165.     case sensitive (i.e. /AM = /Am = /aM = /am). Invalid switch specification
  166.     cancels program execution.
  167.  
  168.  
  169.     SWITCH /?
  170.  
  171.     This switch displays the Status/Usage/Help panels, which are described in
  172.     more detail in the section below.  If a VGA or EGA is the active adapter,
  173.     the program saves the contents of the palette registers prior to changing
  174.     the video attributes for its various displays.  See section STATUS/USAGE/
  175.     HELP PANELS below.
  176.  
  177.     NOTE (EGA users only): The default IBM palette attributes are restored if
  178.     the EGA BIOS fails to store data in the Parameter Save Area. Some old EGA
  179.     cards, however, store improper data in the area and the screen attributes
  180.     are then improperly restored; in such case, use the DOS command MODE CO80
  181.     to restore the default attributes.
  182.  
  183.  
  184.  
  185.     SWITCH /Ax
  186.  
  187.     Forces configuration to a specified video adapter. Switch /A bypasses the
  188.     automatic configuration of BLANKs for the adapter detected at the time of
  189.     each execution.  Valid specifications:
  190.  
  191.       /AM   MDA configuration: IBM Monochrome Display Adapter and, in
  192.         text mode only, HERCULES adapters HGC, HGC+, InColor etc.
  193.         The MDA configuration does not restore a graphics mode in
  194.         the HERCULES card.  Uses and restores bit 3 of video port
  195.         3B8h, but forces bits 7 and 1 to 0.
  196.  
  197.       /AH   HGA configuration: HERCULES adapters (HGC, HGC+, InColor)
  198.         in text or graphics mode, but not in CGA emulation.  Uses
  199.         and restores register 6 of video port 3B5h.
  200.  
  201.       /AC   CGA configuration: IBM Color Graphics Adapter, MultiColor
  202.         Graphics Array [MCGA], and compatible adapters.  Uses and
  203.         restores bits 0-3 of port 3D9h and bit 3 of port 3D8h.
  204.  
  205.       /AE   EGA configuration: IBM Enhanced Graphics Adapter and EGA-
  206.         compatible cards.  Resets video ports 3BAh and 3DAh. Uses
  207.         and restores bit 5 of port 3C0h.
  208.  
  209.       /AV   VGA configuration: IBM Video Graphics Array and compatible
  210.         adapters.  Uses video port 3C4h, and uses and restores bit
  211.         5 of port 3C5h.
  212.  
  213.       /A-   Ignore prior forced configuration.  Uses the configuration
  214.         selected by BLANKs for the adapter detected at the time of
  215.         (each) execution.
  216.  
  217.  
  218.     NOTICE    Proper blanking may not occur with some video adapters that are
  219.     ------    not compatible with the corresponding IBM adapter "standard" at
  220.               the register level. Erratic adapter operation may occur in such
  221.               cases, and the program should not be used.
  222.  
  223.     Switch /A is useful if the video adapter type is not identified properly;
  224.     it does not need to be selected unless you want to modify the settings of
  225.     the program (read the above notice on adapter compatibility).
  226.  
  227.     BLANKs (release 3.15 or later) assumes that a CGA whose ROM BIOS contains
  228.     the letters 'COMPAQ' is a monochrome COMPAQ card; if you wish to override
  229.     this assumption, switch /AC forces a CGA color configuration.
  230.  
  231.  
  232.  
  233.     SWITCH /Dn
  234.  
  235.     Adjusts brightness of the display (VGA only).  The brightness change step
  236.     is specified by the sign and value of number <n> ranging from -63 to +63.
  237.  
  238.       /D-n  (for 0 < n < 64): Decrease the brightness of the screen,
  239.         reducing the contrast of the display.
  240.  
  241.       /D+n  (for 0 < n < 64): Increase the brightness of the screen,
  242.         reducing the saturation of the display.
  243.  
  244.       /D0   Restore screen to its original brightness as dictated by
  245.         the settings of the monitor.  Clears the screen.
  246.  
  247.     Defaults:  /D = /D-2, /D1 = /D-1.
  248.  
  249.     Brightness changes are additive. Repeated use of the switch or the use of
  250.     large step numbers yields unreadable displays; use /D0 to restore display
  251.     contrast.  (Switch /D is a sticky parameter, as brightness changes remain
  252.     in effect even if BLANKs is made quiescent or uninstalled.)
  253.  
  254.  
  255.  
  256.     SWITCH /E
  257.  
  258.     Creates/updates the environment block variable BLANKS=/SWITCH1.../SWITCHn
  259.     in which SWITCH1...SWITCHn are the switches to be implemented when BLANKs
  260.     is executed from the DOS command line without any argument.  Although the
  261.     switch itself is incorporated in the variable as well, it is ignored when
  262.     BLANKs uses the environment variable as input.  See section INSTALLATION,
  263.     for more details.  No defaults.
  264.  
  265.  
  266.  
  267.     SWITCH /H
  268.  
  269.     Loads the resident in the Upper Memory Area (UMA), between addresses 640
  270.     kb and 1,024 kb of memory; this is the region below the 1-Mb boundary of
  271.     the memory accessible by 086 CPUs, but above the 640-kb hardware barrier
  272.     of MS-DOS.  The switch requires an available upper memory block (UMB) of
  273.     about .9 to 1.7 kb (depending on the number of modules to be installed),
  274.     which is allocated by the program itself either via a direct XMS request
  275.     or, when DOS controls the UMB allocation (i.e. DOS 5.0 linked to the UMA
  276.     through the command DOS=UMB in CONFIG.SYS), via DOS calls. Allocation of
  277.     UMBs requires the presence of an XMS manager (XMM) that supports the UMB
  278.     services 10h-11h of the XMS 2.0, and (if the XMM lacks the capability of
  279.     remapping memory) the presence of an UMB provider.
  280.  
  281.  
  282.     SWITCH /Hn
  283.  
  284.     A lower upper-memory limit for the UMB loading can also be requested via
  285.     switch /Hn, in which <n> is a four-digit hexadecimal number between A000
  286.     (640 kb) and FFFF (1,024 kb), in order to avoid or select specific areas
  287.     of upper memory.
  288.  
  289.  
  290.     SWITCH /Hn@
  291.  
  292.     A lower-memory resident marker can also be installed along with the UMB
  293.     resident via switch /H@ or /Hn@; the marker occupies 144 bytes of lower
  294.     conventional memory, can be identified in some memory mapping utilities
  295.     by the name
  296.                     BLANKs @ UMB
  297.  
  298.     and is released from memory when the UMB resident is uninstalled.  This
  299.     marker may be used (1) to remind that the resident is already installed
  300.     in upper memory, (2) to help locate the UMB installation address in the
  301.     case of some mapping utilities, and (3) to help avoid removal conflicts
  302.     when lower and upper-memory residents are interspersed.
  303.  
  304.     Defaults:  Low-memory installation if any error is found during the UMB
  305.     loading; high-memory installation below lower-address limit if UMBs are
  306.     not available above such limit.
  307.  
  308.  
  309.  
  310.     SWITCH /K±?xn
  311.  
  312.     Hotkey switch. In addition to timed screen blanking, BLANKs allows manual
  313.     blanking of the video by pressing hotkey combination.  The default hotkey
  314.     combination is <Ctrl-B> in the distributed version of the program, but it
  315.     can be changed with this switch in the case of a key-assignment conflict.
  316.     Once the screen has been blanked via the hotkey (manual blanking), it can
  317.     only be unblanked by pressing any key.
  318.  
  319.     BLANKs erases the hotkey from the keyboard buffer so it is not displayed.
  320.     However, a program executed after BLANKs is loaded could save the hotkey.
  321.     This is what happens, for example, with some word processors in which the
  322.     hotkey needs to be erased from the text.
  323.  
  324.       /K+   Enable hotkey operation; this is the default condition
  325.         if an switch argument is not specified (/K = /K+).
  326.  
  327.       /K-   Disable hotkey operation.  Can be reenabled with /K+.
  328.  
  329.       /K?   Permit selection of a new hotkey combination including
  330.         an alphanumeric key, and one or more of the shift keys
  331.         <Ctrl>, <Alt>, <lt-Shift>, and <rt-Shift>.
  332.  
  333.       /Kxn  Select <xn> as the hotkey combination, in which <x> is
  334.         a pure alphanumeric character (0-9 or A-Z), and <n> is
  335.         a digit between 4 and 15 only.  This digit corresponds
  336.         to one of the following shifting keys or their sum:
  337.  
  338.             1 = right shift       ------------------------
  339.             2 = left shift     Values higher than 15 or
  340.             4 = Ctrl           lower than 4 are invalid
  341.             8 = Alt           ------------------------
  342.  
  343.     For obvious reasons, <Ctrl> or <Alt>, or both, must be part of a new hot-
  344.     key combination either in switch /K? or /Kxn.  If a hotkey other than the
  345.     default combination is needed routinely, it may be useful to store in the
  346.     DOS environment the variable 'BLANKS=/Kxn' (see INSTALLATION section).
  347.  
  348.  
  349.  
  350.     SWITCH /M±
  351.  
  352.     Enables and disables the monitoring of Mouse activity compatible with the
  353.     Microsoft/Logitech mouse driver format.  Applications use different mouse
  354.     programming styles, of which the most common are: calls to interrupt 33h,
  355.     a software interface set up and serviced by the mouse driver, and a user-
  356.     defined mouse event handler, which functions as a mouse interrupt service
  357.     dedicated to those particular mouse events (e.g. right button pressed, no
  358.     mouse motion, etc) defined by the requesting application.
  359.  
  360.       /M+   Enable global mouse monitoring (i.e., monitoring INT-33h calls
  361.         and user-handler calls, and allowing mouse-mediated blanking).
  362.  
  363.       /M-   Disable global mouse monitoring; this is the default status if
  364.         a mouse driver (Microsoft/Logitech compatible format) is *NOT*
  365.         found to be active at the time of installing BLANKs.
  366.  
  367.       /MI+  Enable monitoring of INT-33h mouse function calls only.
  368.  
  369.       /MI-  Disable monitoring of INT-33h mouse function calls only.
  370.  
  371.       /MH+  Enable mouse monitoring of user-handler calls only.
  372.  
  373.       /MH-  Disable monitoring of user-handler mouse calls only.
  374.  
  375.       /MB+  Enable mouse-mediated screen blanking; defaults to blanking if
  376.                both the right mouse button is clicked and the mouse points to
  377.                the upper-left corner of the screen.  Also:
  378.  
  379.           /MBR@L    Blank screen if both the RIGHT mouse button is clicked
  380.             and the pointer is at the LEFT-upper screen corner.
  381.  
  382.           /MBL@L    Blank screen if both the LEFT  mouse button is clicked
  383.             and the pointer is at the LEFT-upper screen corner.
  384.  
  385.           /MBB@L    Blank screen if both a mouse button is clicked and the
  386.             pointer is at the LEFT-upper screen corner.
  387.  
  388.           /MBR@R    Blank screen if both the RIGHT mouse button is clicked
  389.             and the pointer is at the RIGHT-upper screen corner.
  390.  
  391.           /MBL@R    Blank screen if both the LEFT  mouse button is clicked
  392.             and the pointer is at the RIGHT-upper screen corner.
  393.  
  394.           /MBB@R    Blank screen if both a mouse button is clicked and the
  395.             pointer is at the RIGHT-upper screen corner.
  396.  
  397.       /MB-  Disable mouse-mediated screen blanking.
  398.  
  399.  
  400.     The selected type of mouse activity avoids a timed screen blanking. If the
  401.     mouse-handler monitoring is enabled and a password is not not required for
  402.     unblanking, keyboard activity or mouse motion unblanks the screen.
  403.  
  404.     Defaults: /M[+] = /MI+/MH+/MBR@L+; /M- = /MI-/MH-/MB-; /MI = /MI+; /MH[+]=
  405.     /MH+/MBR@L; /MB[+] = /MBR@L; null switch = /MH+ /MBR@L on installation.
  406.  
  407.     NOTE:  The monitoring of INT-33h function calls ignores functions 1 ('Show
  408.         Mouse Pointer') and 2 ('Hide Mouse Pointer').
  409.  
  410.  
  411.  
  412.     SWITCH /P±
  413.  
  414.     Enables/disables the parking of the hard disk(s) upon the manual or timed
  415.     blanking of the screen.  Moves the disk head to the highest disk cylinder
  416.     for each physical disk that can be accessed via interrupt-13h calls (BIOS
  417.     disk services).  Parking is inhibited when BIOS-mediated disk or diskette
  418.     activity is in progress at the time of blanking.
  419.  
  420.       /P+   Enable hard disk parking; this is the default condition
  421.         if an argument is not specified at the time of resident
  422.         installation.
  423.  
  424.       /P-   Disable disk parking. (Can be reenabled with /P[+].)
  425.  
  426.     Defaults:  /P = /P+
  427.  
  428.     If BLANKs is installed in a machine lacking hard disks, parking should be
  429.     disabled at the time of installation, as a parking attempt may crash some
  430.     machines with poorly designed BIOSes.
  431.  
  432.     NOTE: Disk-parking-upon-blanking is not available in a special version of
  433.     the program for diskless machines to avoid potential conflicts.
  434.  
  435.  
  436.  
  437.     SWITCH /Q
  438.  
  439.     Disables timed blanking.  The switch has the same effect as specifying an
  440.     interval of 0 minutes for the interval option [t]; it does not affect the
  441.     manual blanking via the hotkey combination.  No defaults.
  442.  
  443.  
  444.  
  445.     SWITCH /U
  446.  
  447.     Uninstalls the resident code from memory.  This request is disregarded if
  448.     the address of any of the interrupts intercepted by the resident has been
  449.     modified since the program was installed.  The revectoring indicates that
  450.     another resident has subsequently hooked the same interrupt(s). Thus, the
  451.     program cannot be uninstalled, because this would leave such interrupt(s)
  452.     pointing to empty memory, and the program would then crash.
  453.  
  454.     The program should be uninstalled only if it is the last resident to have
  455.     been installed. In practice, however, it can also be uninstalled when any
  456.     subsequently installed resident intercepts different interrupts; although
  457.     this increases fragmentation of memory, the resulting "hole" is innocuous
  458.     and can be used by DOS for other purposes (e.g., an environment block).
  459.  
  460.  
  461.  
  462.     SWITCH /W±?x
  463.  
  464.     The switch controls password-mediated unblanking.  A selected sequence of
  465.     1 to 15 non-shifted, alphanumeric characters, followed by a <right-Shift>
  466.     keypress, must be pressed in correct sequence to unblank the screen after
  467.     a MANUAL blanking.  Rebooting via <Ctrl-Alt-Del> is inhibited.
  468.  
  469.       /Wx   Specify the password from the DOS command line, which <x>
  470.         is a string of 1 to 15 nonshifted, pure alphanumeric (0-9
  471.         a-z) characters.
  472.  
  473.       /W?   Request to specify a new password of up to 15 nonshifted,
  474.         pure alphanumeric characters. After these characters have
  475.         been typed, press <ENTER> to make this password resident;
  476.         press <Esc> to avoid changing the password or press <Ctrl
  477.         Break> to quit to DOS. The typed characters can be erased
  478.         with the <Backspace> key.
  479.  
  480.         NOTE: If <Enter> is pressed before any valid character is
  481.         typed, the unblanking of the manual blanking of the video
  482.         will occur only after pressing the <Right-Shift> key.
  483.  
  484.       /W-   Disable password unblanking.
  485.  
  486.       /W+   Re-enable use of the resident password (if a password had
  487.         not been loaded, the video will unblank only when <Right-
  488.         Shift> is pressed).
  489.  
  490.     Defaults: /W = /W+.
  491.  
  492.     NOTE: Even when enabled, the password is not needed to unblank the screen
  493.     after a TIMED blanking.
  494.  
  495.                     --------
  496.  
  497.     C.  Comments:
  498.  
  499.     The comments may be added in the command line after the desired switches
  500.     and must be preceded by a semicolon.  Such comments, which may be useful
  501.     in clarifying batch files, are ignored by the program.
  502.  
  503.     Do not use the redirection and pipe characters in the comments since DOS
  504.     will attempt to implement the implied redirection or pipe request.
  505.  
  506.  
  507.  
  508.   ----------------------------------------------------------------------------
  509.     3.  STATUS/USAGE/HELP PANELS
  510.   ----------------------------------------------------------------------------
  511.  
  512.     Executing the program with switch /? selected allows access to the Status/
  513.     Usage and Help panels. (If a Mouse pointing device driver, compatible with
  514.     the Microsoft Mouse driver version 6.0 or higher is loaded and active, all
  515.     of the services provided by these panels can also be activated by pointing
  516.     the mouse to specific regions of the display and clicking either button of
  517.     the device.)
  518.  
  519.     The STATUS/USAGE panel, which is shown first, describes status information
  520.     for the resident and its services.  If the program has not been installed,
  521.     pressing key <F2> or <S> shows the default installation parameters.  If it
  522.     is installed, pressing key <F2> or <T> yields a 1-second blanking interval
  523.     for testing purposes; the original interval is restored once the screen is
  524.     unblanked by a keypress.
  525.  
  526.     The USAGE subpanel shows a menu for the command switches: To cycle between
  527.     the main and the auxiliary menu, press key <F2> or <M>, or click the mouse
  528.     upon the screen button labelled <Menu>.  If the resident is installed, the
  529.     status of some 'on/off' command switches is displayed by '+' or '-' before
  530.     a given menu entry.
  531.  
  532.     The HELP panel provides a summary description of the program and commands,
  533.     and is displayed if key <F1> or <H> is pressed from the Status/Usage panel
  534.     (or if the mouse is clicked upon the screen button labelled <Help>). Press
  535.     the keypad cursor keys (Home/End, PgUp/PgDn, arrows) to scroll the display
  536.     down or up.  Press key <F1> to skip the brief program summary and position
  537.     the text on the Usage section directly.  Press key <Esc> or <F2> to return
  538.     to the Status/Usage panel.
  539.  
  540.     Press key <X> or click the mouse upon the screen button labelled <eXit> to
  541.     return to the DOS-prompt command line from either panel.
  542.  
  543.  
  544.  
  545.   ----------------------------------------------------------------------------
  546.     4.  INSTALLATION
  547.   ----------------------------------------------------------------------------
  548.  
  549.     To install the program automatically when the computer is booted, put the
  550.     command
  551.                       BLANKS [t] [/switches] [;comments]
  552.  
  553.     in a line of the AUTOEXEC.BAT file or any batch file that may be executed
  554.     at booting time (see Section 2 on the selection of command arguments). If
  555.     other memory-resident programs are used as well, make sure that residents
  556.     installed after BLANKs are 'well behaved' and pass along the system timer
  557.     and keyboard interrupt information (see Section 6).
  558.  
  559.     Starting with version 4.11, the program INSTALL.EXE (also enclosed in the
  560.     program distribution diskette) can be used to copy the program files to a
  561.     user-defined directory and, at the user's option, modify the AUTOEXEC.BAT
  562.     file.
  563.  
  564.  
  565.  
  566.     THE ENVIRONMENT VARIABLE 'BLANKS'
  567.  
  568.     When COMMAND.COM (or any compatible DOS command interpreter) is loaded at
  569.     boot time, it creates a block of memory which will contain the master DOS
  570.     environment. This DOS environment block consists of a number of variables
  571.     each consisting of a name and an associated string of characters with the
  572.     format:
  573.                            VARIABLE=string of characters
  574.  
  575.     When the program is executed from the command line of DOS or a batch file
  576.     without an argument, it searches the DOS environment block for a variable
  577.     named 'BLANKS' having the format:
  578.  
  579.             BLANKS=[t]/SWITCH1/SWITCH2..../SWITCHn
  580.  
  581.     Up to 128 characters are allowed after the equal sign. This string can be
  582.     incorporated to the environment block via the 'SET' command of DOS or via
  583.     switch /E of this program (see above).  Program releases prior to version
  584.     3.14 lack this feature.
  585.  
  586.     The variable can be used to specify a BLANKs default configuration (e.g.,
  587.     /KB4/K+/P-/W-), which can be restored just by executing BLANKs without an
  588.     argument after a temporary change of parameters.
  589.  
  590.     NOTE:
  591.  
  592.     While the SET command modifies the current DOS environment block, whether
  593.     it is the global or a local one, switch /E only modifies the global block
  594.     (even when the program is executed via a secondary COMMAND.COM, as in the
  595.     case of shelling out to DOS from an application).   Notice that the local
  596.     environment block is only a copy of the global block and lacks sufficient
  597.     room to increase significantly the length of a variable, and that changes
  598.     made to a local environment are not inherited by the global one.
  599.  
  600.     When searching for the environment variable, the program uses the current
  601.     DOS environment block, whether it is the global or a local one.
  602.  
  603.  
  604.  
  605.     DIRECT UPPER-MEMORY AREA LOADING
  606.  
  607.     The utility can self-install the resident in the upper memory area (UMA),
  608.     that is, RAM addresses between 640 kb and 1,024 kb, via switch /H (or its
  609.     subfunctions /Hn, /H@, and /Hn@).  Program releases prior to version 3.20
  610.     lack this feature.
  611.  
  612.     The allocation of UMA blocks (UMBs) is arbitrated by an XMS manager (XMM)
  613.     version 2.0 or higher; the XMM must be installed prior to the UMB-loading
  614.     of the resident.  Allocation also requires the remapping of UMA addresses
  615.     by a UMB provider, when such a task is not implemented by the XMM itself.
  616.     XMMs require DOS version 3.0 or later.
  617.  
  618.     The XMM HIMEM.SYS and the UMB-provider EMM386.EXE are distributed with MS
  619.     DOS 5.0; the allocation of UMBs is controlled by DOS when these 2 drivers
  620.     are installed, and the command 'DOS=UMB' is added to the CONFIG.SYS file.
  621.     Of course, other 386-specific memory managers, such as 386MAX or QEMM386,
  622.     provide both UMB remapping and XMS support.
  623.  
  624.     Switch /Hn, where A000 ≤ n ≤ FFFF (hexadecimal), allows the specification
  625.     of a minimum upper-memory limit for the UMB to avoid UMA regions having a
  626.     very slow access time (or to preserve regions with a fast access time for
  627.     other utilities that require faster times, such as a disk cache or screen
  628.     accelerator), or to avoid fragmentation of the UMA when UMB allocation is
  629.     not controlled by DOS 5, but by the XMM itself.  Such a fragmentation may
  630.     occur when the XMM allocates blocks on a first-fit basis, i.e., the first
  631.     available UMB having the lowest UMA address is allocated, irrespective of
  632.     whether or not a (smaller) block matching the requested size is available
  633.     at a higher UMA address.  Unless the size of the available UMBs increases
  634.     with increasing memory address, first-fit allocation of a small UMB leads
  635.     to the breaking of large UMA blocks into smaller ones, thus hampering the
  636.     UMB installation of larger residents.
  637.  
  638.     When DOS controls the UMB allocation, the program enforces the allocation
  639.     of the resident block on a best-fit basis when <n> is not specified; that
  640.     is, all available blocks are searched (by DOS), and the one matching most
  641.     closely the size requested is allocated.
  642.  
  643.     When DOS controls UMB allocation and <n> is specified, UMBs are allocated
  644.     on a first-fit basis.  While this may contribute to UMA fragmentation, it
  645.     allows for the checking of a minimum memory limit in those cases in which
  646.     the selection or avoidance of a specific UMA region is more important.
  647.  
  648.     Hence, compared to the upper-memory installation provided by the LOADHIGH
  649.     command of DOS 5.0, or similar services provided by some memory managers,
  650.     program self-loading into a UMB has several advantages, including: (1) it
  651.     does not require an initial free block of upper memory of the size of the
  652.     entire program (as opposed to the size of its resident only), (2) it does
  653.     allow user control on the selection of the upper-memory block, and (3) it
  654.     can help reduce UMA fragmentation.
  655.  
  656.     NOTE:
  657.  
  658.     The address and size of available UMBs can be obtained with MEM.EXE, when
  659.     DOS controls UMB allocation, or with the memory manager itself, when this
  660.     allocation is controlled by 386-specific memory managers. In either case,
  661.     these data can also be obtained with UMAX.EXE, a UMA mapping utility that
  662.     is distributed by the author.
  663.  
  664.  
  665.  
  666.     HIGH-LOADING VIA 386-MEMORY MANAGERS OR MS-DOS 5
  667.  
  668.     Of course, the resident can also be installed in the UMA via a 386-memory
  669.     manager or via (UMB-linked) MS-DOS 5 provided that there is enough memory
  670.     for the actual size of the entire program, and any additional memory that
  671.     may be needed by the loading utility.
  672.  
  673.     To minimize disk storage, the program is distributed as a compressed file
  674.     that expands upon its execution. The difference between the actual loaded
  675.     size and the nominal directory size may create conflicts with high-memory
  676.     loading programs that fail to measure the actual size: When the available
  677.     high memory is not sufficient to permit the file expansion, but is larger
  678.     than the nominal directory size, such programs will load the (compressed)
  679.     utility. The subsequent expansion will then overwrite adjacent memory and
  680.     likely crash the memory manager or DOS itself.
  681.  
  682.     The executable file expands by a factor between 1.3 and 1.7.  Notice that
  683.     the restoration of the contents of the screen requires an additional 4800
  684.     bytes of free memory if switch /?, /K?, or /W? has been specified.
  685.  
  686.  
  687.  
  688.     UPPER-MEMORY UPDATING
  689.  
  690.     When the program has been loaded in the upper memory, it does not require
  691.     a high-memory loading utility to update its resident, and all updates can
  692.     be made by executing the program from the DOS-command line. This obviates
  693.     the cumbersome restriction (of some memory systems) of having to maintain
  694.     a pool of free upper memory simply to load the entire program to update a
  695.     small resident. Program releases prior to version 3.00 lack this feature.
  696.  
  697.  
  698.  
  699.     UPPER-MEMORY DEALLOCATION
  700.  
  701.     If the deallocation of the resident is requested (switch /U) from the DOS
  702.     command line (as opposed to via an upper-memory loading utility), removal
  703.     of the resident is implemented, even if it was installed in the UMA. (The
  704.     confirmation request of versions 3.00 to 3.16 is no longer required.)
  705.  
  706.     If deallocation is requested via an upper-memory loading utility, some of
  707.     of these utilities warn that a "resident installation has failed." Such a
  708.     warning is harmless and may be ignored.
  709.  
  710.  
  711.  
  712.     IDENTIFICATION IN MEMORY MAPS
  713.  
  714.     If the resident has been loaded in lower conventional memory, the program
  715.     can be identified by name in usage maps yielded by various memory mapping
  716.     utilities.  Although the program sheds its own copy of the environment at
  717.     installation time (to minimize the resident size), the name
  718.  
  719.                 BLANKs n.nn
  720.  
  721.     will appear in the command line listing for the resident, irrespective of
  722.     the actual content of the DOS command line at the time of loading; <n.nn>
  723.     represents the program revision number (version).  Program releases prior
  724.     to BLANKs 2.20 lack this feature.
  725.  
  726.     If the resident is loaded in upper memory when UMB allocation is mediated
  727.     by the XMS manager directly (e.g. extended memory manager and DOS version
  728.     2 to 4, or DOS 5 not linked to the UMA), however, most memory maps do not
  729.     list the allocated UMB, lump it with other allocated UMBs, or do not show
  730.     the name of the resident.
  731.  
  732.     If UMB allocation is controlled by DOS version 5, the UMB resident can be
  733.     identified with some mapping utilities (e.g., MEM.EXE of MS-DOS) although
  734.     it is listed as "Data" instead of "Program."  Other mapping utilities can
  735.     identify the UMB resident when its associated lower-memory marker is also
  736.     loaded (see switch /H@).  Program releases prior to BLANKs 4.00 lack this
  737.     feature.
  738.  
  739.  
  740.  
  741.   ----------------------------------------------------------------------------
  742.     5.  TECHNICAL INFORMATION
  743.   ----------------------------------------------------------------------------
  744.  
  745.     Whenever certain conditions occur, either within a program or the system,
  746.     it becomes necessary for the processor to interrupt its current operation
  747.     and execute one of a group of special routines.  The action that triggers
  748.     the execution of such a routine is referred to as an interrupt; there are
  749.     internal interrupts, in response to a state of the CPU or an instruction,
  750.     and external interrupts, caused by signals sent to the CPU from elsewhere
  751.     in the system.
  752.  
  753.     The program intercepts several interrupts:
  754.  
  755.         INT 08h - Hardware system timer
  756.         INT 09h - Keyboard
  757.         INT 10h - BIOS video services
  758.         INT 13h - BIOS disk services
  759.         INT 33h - (Microsoft/Logitech) Mouse services
  760.  
  761.     A brief description of these interrupts is given below:
  762.  
  763.     INT 8h is issued 18.2 times per second to update the time-of-the-day BIOS
  764.     counter.  Hence, the timer interrupt service must operate within a period
  765.     of less than about 55 ms, including the overhead imposed by DOS and other
  766.     programs hooking INT 8h.  To reduce overhead, BLANKs uses direct commands
  767.     to the hardware, which are issued after the original interrupt service is
  768.     completed.
  769.  
  770.     INT 9h is issued when any key on the keyboard is pressed or released.  If
  771.     the hotkey is enabled (switch /K+), the screen is blanked when the hotkey
  772.     is pressed.  The hotkey code is removed from the keyboard buffer; the key
  773.     code for the keypress that unblanks the screen is removed from the buffer
  774.     as well (version 3.12+), to allow unconstrained unblanking with any key.
  775.  
  776.     INT 10h implements BIOS video services. The screen blanking is suppressed
  777.     during video activity, but this activity does not unblank the screen once
  778.     blanking has occurred. Due to the monitoring, video speed is decreased by
  779.     a very small percentage.
  780.  
  781.     INT 13h implements the BIOS disk services.  If disk-parking-upon-blanking
  782.     is enabled (switch /P+), such parking is inhibited during BIOS disk(ette)
  783.     activity.  NOTE: Interrupt 13h is not intercepted in a special version of
  784.     BLANKs for computers lacking hard disks; this version is smaller than the
  785.     standard versions by ca. 100 bytes in the resident (and several kilobytes
  786.     in the nonresident) part.
  787.  
  788.     INT 33h (not used by DOS or the BIOS) is used in the (Microsoft/Logitech)
  789.     implementation of calls to the Mouse driver. This interrupt is claimed by
  790.     the Mouse driver during its initialization, and it is used by most mouse-
  791.     aware programs.
  792.  
  793.     NOTE:
  794.  
  795.     When the program is waiting for keyboard (or mouse) user input during its
  796.     Status/Usage/Help display, it invokes repeatedly the 'idle' interrupts of
  797.     DOS--INT 28h and (if MS-DOS 5.0 is installed) function 1608h of INT 2Fh.
  798.  
  799.     INT 28h permits potential background activation of (some) other residents
  800.     whereas INT 2Fh/1608h permits DOS to suspend the program temporarily, and
  801.     transfer control to another program.
  802.  
  803.  
  804.     BYPASSING INTERRUPTS
  805.  
  806.     BLANKs bypasses interrupt 8 when a blanking interval of 0 minute has been
  807.     selected (see below).  Interrupt 9 is bypassed only when an interval of 0
  808.     minute and switch /K- (see above) have been selected. When switch /K- has
  809.     been selected along with a nonzero time interval, only the hotkey service
  810.     of interrupt 9 is bypassed. The BIOS interrupt 10h (video) and 13h (disk)
  811.     cannot be bypassed by any of the switches, while the (Microsoft/Logitech)
  812.     Mouse interrupt 33h can be bypassed by switch /M-.
  813.  
  814.     Hence, the two interrupt activities of BLANKs are bypassed by the "0 /K-"
  815.     selection; this may be of use in case of testing potential conflicts with
  816.     other resident programs.
  817.  
  818.  
  819.  
  820.     ERRORLEVELS
  821.  
  822.     Upon completion, the program passes an errorlevel value which can be used
  823.     to check (via ERRORLEVEL commands in a batch file) the outcome of program
  824.     execution.  The following errorlevels may be passed:
  825.  
  826.          Value   Nature of Error
  827.          -----   ------------------------------------
  828.            255   Cyclical redundancy check failure
  829.            255   CPU type cannot execute 286+ version
  830.  
  831.            128   XMM not installed or XMS error in UMB load
  832.             64   Error in update of environment variable
  833.             32   Invalid password format
  834.             16   Invalid hotkey combination
  835.              8   Unknown video adapter
  836.              4   Unable to uninstall resident
  837.              2   Invalid switch request
  838.              1   User <CTRL-BREAK> keypress
  839.              0   Successful execution
  840.  
  841.     Some conditions generating errorlevels 1 through 128 may be additive, and
  842.     the resulting error value may represent more than a single error. Program
  843.     releases prior to BLANKs 2.40 lack this feature.
  844.  
  845.  
  846.  
  847.   ----------------------------------------------------------------------------
  848.     6.  OPERATION REQUIREMENTS & CONFLICTS
  849.   ----------------------------------------------------------------------------
  850.  
  851.     BLANKs is not compatible with Microsft WINDOWS. To execute WIN.EXE, use a
  852.     batch file WIN.BAT similar to the following one to avoid conflicts:
  853.  
  854.             @Echo Off
  855.             [d:][\path\]BLANKS 0 K-
  856.             [d:][\path\]WIN
  857.             [d:][\path\]BLANKS [t][/Switches]
  858.  
  859.  
  860.     BLANKs will fail to operate properly when access to interrupts 8 and 9 is
  861.     denied by another program or resident loaded after BLANKs. This can occur
  862.     with ill-behaved programs that take over the interrupts and fail to chain
  863.     the information to those other utilities tapping the same interrupts (see
  864.     TECHNICAL INFORMATION section), such as some WYSIWYG word processors, GUI
  865.     systems, etc.
  866.  
  867.     In particular, if access to interrupt 9 is denied, keyboard activity will
  868.     fail to unblank a blanked screen; when testing for incompatibilities with
  869.     a given program, make sure that programs voiding the manual blanking when
  870.     <Ctrl-B> is pressed, will permit video unblanking after a timed blanking.
  871.     Programs that deny access to both interrupt 8 and 9 are less of a problem
  872.     as neither manual nor timed blanking is likely to be allowed.  Otherwise,
  873.     you will need to inactivate BLANKs with the command <BLANKS 0 /K-> before
  874.     executing an ill-behaved program or application.
  875.  
  876.     To monitor mouse activity, BLANKs must be installed after a mouse driver
  877.     compatible with the Microsoft/Logitech mouse device driver is loaded and
  878.     active.
  879.  
  880.     Since the BIOS video services are comparatively slow, many programs write
  881.     directly to video memory instead of using the BIOS services. Because such
  882.     video writes are not detected by BLANKs, screen blanking may occur during
  883.     during the video activity of such programs. Similarly, any mouse activity
  884.     implemented by commands that bypass interrupt 33h will not avoid blanking
  885.     of the screen (as in the case of some desktop publishing programs).
  886.  
  887.  
  888.  
  889.   ----------------------------------------------------------------------------
  890.     7.  LICENSE INFORMATION
  891.   ----------------------------------------------------------------------------
  892.  
  893.     This documentation, programs, and other files distributed in this software
  894.     package (the "Software")  are the copyrighted property of FM de Monasterio
  895.     (the "Author"), who provides the Software and licenses its use. All rights
  896.     are reserved.
  897.  
  898.     You have received a non-transferable, and non-exclusive license to use the
  899.     Software.  This license does not transfer to you the ownership of or title
  900.     to the Software, which remains the sole property of the Author.  The terms
  901.     of the License Agreement are specified in the enclosed file BLANKS.LIC.
  902.  
  903.     You may make copies of the Software only for archival and backup purposes.
  904.     You may not use, copy, modify, or transfer the Software or any portion, in
  905.     whole or in part, except as expressly provided for in this Agreement.  Any
  906.     other use of this Software is prohibited without the written authorization
  907.     from the Author, including, but not restricted to, charging fees or asking
  908.     payment for or donations in exchange of copies of the Software, as well as
  909.     distributing any such copy, including but not restricted to via electronic
  910.     means or for-profit organizations.
  911.  
  912.     For further details on the License Agreement, please see the enclosed file
  913.     BLANKS.LIC.
  914.  
  915.  
  916.     U.S. GOVERNMENT INFORMATION
  917.  
  918.     The use, duplication, or disclosure by the U.S. Government of the Software
  919.     is subject to the restricted rights applicable to commercial software that
  920.     are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
  921.     and Computer Software' clause, document DFARS 52.227-7013. The contractor/
  922.     manufacturer is FM de Monasterio, P.O. Box 219, Cabin John, MD 20818-0219,
  923.     USA.
  924.  
  925.  
  926.     UPGRADES
  927.  
  928.     Upgrades within the same major version number of this Software (e.g., 2.00
  929.     through 2.99) are free of charge to registered users; they may be obtained
  930.     by sending a self-addressed, stamped diskette mailer with a formatted 360-
  931.     kb diskette to the address below.  Other upgrades are half the cost of the
  932.     (single-user/site) license fee.
  933.  
  934.     When requesting an upgrade, please provide your registration number (which
  935.     appears in the Help/Usage display of your program copy); a form needed for
  936.     the upgrade of the Software is provided in the enclosed file BLANKS.REG.
  937.  
  938.  
  939.     LIMITATIONS
  940.  
  941.     If a problem notified within 90 days of receiving this registered copy can
  942.     not be solved, the Software registration fee (but not mailing costs), will
  943.     be refunded upon receiving a written request along with the original disk.
  944.     For details on the Limited Warranty and the Limitation of Remedies for the
  945.     Software, see the License Agreement in the enclosed file BLANKS.LIC.
  946.  
  947.     By using the Software, you acknowledge (1) to have read and understood all
  948.     parts of this document and those of the License Agreement and (2) to agree
  949.     with and accept all of their conditions and terms.
  950.  
  951.  
  952.     TECHNICAL SUPPORT
  953.  
  954.     If you discover a problem when using the Software, please try to replicate
  955.     it under the same conditions and then in the absence of any other resident
  956.     programs. (Changes in the order residents are loaded sometimes can resolve
  957.     conflicts.)  If the problem can be replicated, please write at the address
  958.     above providing:
  959.  
  960.      - Your full name, address, and daytime telephone number.
  961.      - Program registration number (see the Help/Usage panel).
  962.      - Program version number (see the Help/Usage panel).
  963.      - The computer model and configuration, and hardware used.
  964.      - A sufficiently detailed description of the problem.
  965.      - A list of all resident and nonresident programs in use,
  966.        and their sequence of loading into memory.
  967.  
  968.  
  969.     Refer all inquiries to:
  970.                     F.M. de Monasterio
  971.                     P.O. Box 219
  972.                     Cabin John, Md 20818-0219
  973.  
  974.      ┌─────────────────────────────────────────────────────────────┐
  975.      │ Trademarked names are the property of the respective owners │
  976.      └─────────────────────────────────────────────────────────────┘
  977.  [END]
  978.